<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="util.*"%>
<%@page import="entidades.*"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.List"%>
<%@page import="java.util.Date"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.LinkedList"%>
<%@page import="java.text.SimpleDateFormat"%>

<html>
<head>

<%@ include file="jspf/head.jspf" %>

<script type="text/javascript" src="js/sp/ordenes-trabajo.js"></script>

</head>
<body>

<%@ include file="jspf/header.jspf" %>

<br/>

<h1>Órdenes de trabajo</h1>

<br/>

<%
String accion = (request.getParameter("accion") != null)? request.getParameter("accion") : "";
String accionBis = (request.getParameter("accion_bis") != null)? request.getParameter("accion_bis") : "";

int formato = 0;
int logotipo = 0;
int newlong = 0;
int uteco = 0;
int pais = 0;
try{ formato = Integer.parseInt(request.getParameter("f-formato")); }catch(Exception e) {}
try{ logotipo = Integer.parseInt(request.getParameter("f-logotipo")); }catch(Exception e) {}
try{ newlong = Integer.parseInt(request.getParameter("f-newlong")); }catch(Exception e) {}
try{ uteco = Integer.parseInt(request.getParameter("f-uteco")); }catch(Exception e) {}
try{ pais = Integer.parseInt(request.getParameter("f-pais")); }catch(Exception e) {}

Date fechaEntrega1 = Util.parseDate(request.getParameter("f-fechaEntrega1"));
Date fechaEntrega2 = Util.parseDate(request.getParameter("f-fechaEntrega2"));
if(fechaEntrega1 == null && accion.compareTo("filtrar") != 0) fechaEntrega1 = new Date();

List<EstadoTrabajo> estados = EstadoTrabajo.listar();
Map<Integer, Boolean> fEstados = new HashMap();
boolean fEstadosAux = false;
for(int i=0; i<estados.size(); i++)
	{
	fEstados.put(estados.get(i).getId(), request.getParameter("f-estado_"+estados.get(i).getId()) != null);
	if(fEstados.get(estados.get(i).getId())) fEstadosAux = true;
	}
if(!fEstadosAux)
	{ for(int i=0; i<estados.size(); i++) fEstados.put(estados.get(i).getId(), true); }

// Verifico si no debo borrar una orden.
try{
	if(accionBis.compareTo("borrar") == 0)
		{ OrdenTrabajo.borrar(request.getParameter("id")); }
	}catch(Exception e) { out.println("<div id=\"dialog_error\" title=\"Error\">"+e+"</div>");}
%>


<!-- Tabla de filtros -->
<form action="" method="get" id="form_filtros">
	<input type="hidden" name="accion" value="filtrar"/>

	<center><table class="filtros">
		<tr>
			<td align="right">Estado:</td>
			<td align="left" colspan="5" style="font-weight: normal;">
				<% {
				for(int i=0; i<estados.size(); i++)
					{ %>
					<input type="checkbox" name="f-estado_<%= estados.get(i).getId() %>" <%= (fEstados.get(estados.get(i).getId()))? "checked" : "" %> value="true"/> <%= estados.get(i).getDescriptor() %> &nbsp;
					<% }
				} %>
			</td>
		</tr>
		<tr>
			<td align="right">Formato:</td>
			<td align="left">
				<select name="f-formato">
					<option value="">Todos</option>
					<% {
					List<Formato> formatos = Formato.listar();
					for(int i=0; i<formatos.size(); i++)
						{ %>
						<option value="<%= formatos.get(i).getId() %>" <%= (formato == formatos.get(i).getId())? "selected" : "" %>><%= formatos.get(i).getDescriptor() %></option>
						<% }
					} %>
				</select>
			</td>
		</tr>
		<tr>
			<td>Fecha prometida:</td>
			<td colspan="3">
				<input type="text" name="f-fechaEntrega1" class="fecha" size="11" value="<%= Util.format(fechaEntrega1, "dd/MM/yyyy") %>"/>
				y
				<input type="text" name="f-fechaEntrega2" class="fecha" size="11" value="<%= Util.format(fechaEntrega2, "dd/MM/yyyy") %>"/>
			</td>
		</tr>
		<tr>
			<td align="right">Logotipo: </td>
			<td align="left" colspan="3">
				<select name="f-logotipo">
					<option value="">Todos</option>
					<% {
					List<Logotipo> logotipos = Logotipo.listar();
					for(int i=0; i<logotipos.size(); i++)
						{ %>
						<option value="<%= logotipos.get(i).getId() %>" <%= (logotipo == logotipos.get(i).getId())? "selected" : "" %>><%= logotipos.get(i).getDescripcion() %></option>
						<% }
					} %>
				</select>
			</td>
		</tr>
		<tr>
			<td align="right">Newlong:</td>
			<td align="left">
				<select name="f-newlong">
					<option value="">Todas</option>
					<% {
					List<Newlong> newlongs = Newlong.listar();
					for(int i=0; i<newlongs.size(); i++)
						{ %>
						<option value="<%= newlongs.get(i).getId() %>" <%= (newlong == newlongs.get(i).getId())? "selected" : "" %>><%= newlongs.get(i).getDescripcion() %></option>
						<% }
					} %>
				</select>
			</td>
			<td align="right">Uteco:</td>
			<td align="left">
				<select name="f-uteco">
					<option value="">Todas</option>
					<% {
					List<Uteco> utecos = Uteco.listar();
					for(int i=0; i<utecos.size(); i++)
						{ %>
						<option value="<%= utecos.get(i).getId() %>" <%= (uteco == utecos.get(i).getId())? "selected" : "" %>><%= utecos.get(i).getDescripcion() %></option>
						<% }
					} %>
				</select>
			</td>
		</tr>
		<tr>
			<td align="right">Pais:</td>
			<td align="left">
				<select name="f-pais">
					<option value="">Todos</option>
				<% {
				List<Pais> paises = Pais.listar();
				for(int p=0; p<paises.size(); p++)
					{%><option value="<%= paises.get(p).getId() %>" <%= (paises.get(p).getId() == pais)? "selected=\"selected\"" : "" %>><%= paises.get(p).getNombre() %></option><%}
				} %>
				</select>
			</td>
		</tr>
		<tr>
			<td colspan="4" align="right">
				<button name="buscar"><img src="icon/find.png" alt="" title="Buscar"/> <span>Buscar</span></button>
			</td>
		</tr>
	</table></center>
</form>


<br/>

<!-- Boton para dar de alta una orden y para exportar a Excel -->
<center>
	<table>
		<tr>
			<td>
				<form action="Excel" method="post" id="form_exportar">
					<input type="hidden" name="tipo" value="listaOrdenesTrabajo"/>
					<input type="hidden" name="ids" value=""/>
					<button style="width:90px;"><img src="icon/excel.png" alt="" title="Exportar a Excel"/> <span>Exportar</span></button>
				</form>
			</td>
			<td>
                            <% if( Sesiones.tienePermiso(session, "ordenes_trabajo", "write") ) { %>
                            <button id="btn_alta"><img src="icon/calendar_add.png" alt="" title="Crear orden"/> <span>Crear orden</span></button>
                            <% } %>
			</td>
		</tr>
	</table>
</center>

<br/>

<!-- Tabla de resultados -->
<form action="" method="post" id="form_resultados" accept-charset="utf-8">
	<input type="hidden" name="accion_bis" value="borrar"/>
	<input type="hidden" name="id" value=""/>

<center><table class="resultados" id="table_resultados">
	<tr class="titulo">
		<td>Work order</td>
		<td>Fecha alta</td>
                <td>Formato</td>
		<td>Cantidad</td>
		<td>Metros</td>
		<td>Logotipo</td>
		<td>Estado</td>
		<td>Fecha prometida</td>
		<td>Fecha estimada <br/>fin de confección</td>
		<td>Uteco</td>
		<td>Newlong</td>
		<td></td>
	</tr>

	<%
	// Obtengo la lista de todos los pedidos y la muestro en una tabla
	String ids = "";
	int usuarioId = Sesiones.tienePermiso(session, "ordenes_consulta", "all")? 0 : Sesiones.getUsuario(session).getId();
    	List<OrdenTrabajo> ordenes = OrdenTrabajo.buscar(formato, fEstados, logotipo, fechaEntrega1, fechaEntrega2, newlong, uteco, usuarioId, pais);
        if (fEstados.get(4)){
          List<OrdenTrabajo> ordenesDemoradas = OrdenTrabajo.buscarDemoradas(formato, logotipo, usuarioId, pais, 0);
            for (OrdenTrabajo ot : ordenesDemoradas){
                ordenes.add(ot);
            }
        }
	for(int i=0; i<ordenes.size(); i++)
		{
		OrdenTrabajo p = ordenes.get(i);
		ids += "," + p.getId();
                if (p.getIdentificador().equals("30140")){
                    System.out.println("Llego");
                }
		%>
		<tr id="<%= p.getId() %>" class="editable">
			<td><%= p.getIdentificador() %></td>
                        <td><%= p.getOrdenVenta().getAltaFechaHoraToString() %></td>
			<td><%= p.getFormato().getDescriptor() %></td>
			<td><%= Util.numero.format(p.getCantidad()) %></td>
			<td><%= Util.numero.format(p.getMetros()) %></td>
			<td><%= p.getOrdenVenta().getLogotipo().getDescriptor() %></td>
			<td><%= p.getEstado().getDescripcion() %></td>
			<td><%= p.getFechaPrometidaToString() %></td>
                        <% if (p.getCicloNewlong() != null){%>
                            <td><%= Util.format(p.getCicloNewlongFin(), "dd/MM/yyyy") %></td>
                        <%} else { %>
                            <td></td>
                        <%} %>
                        <% if (p.getCicloUteco() != null){%>
			<td>Uteco <%= p.getCicloUteco().getUtecoId() %></td>
                         <%} else { %>
                            <td></td>
                         <%} %>
			<% if (p.getCicloNewlong() != null){%>
                            <td>Newlong <%= p.getCicloNewlong().getNewlong().getId() %></td>
                        <%} else { %>
                            <td></td>
                        <%} %>
			<td>
				<a href="ordenes-trabajo-edit.jsp?id=<%= p.getId() %>">
					<% if( Sesiones.tienePermiso(session, "ordenes_trabajo", "write") ) { %>
					<img src="icon/edit.png" alt="Editar" title="Editar"/>
					<% } else { %>
					<img src="icon/search.png" alt="Ver" title="Ver"/>
					<% } %>
				</a>
			</td>
		</tr>
    <% } %>
</table></center>

	<input type="hidden" name="ids" value="<%= ids %>"/>
</form>

<%@ include file="jspf/footer.jspf" %>

</body>
</html>
